package com.aaa.tars.service;

import com.aaa.tars.entity.Scenic;
import com.aaa.tars.util.Page;
import com.aaa.tars.util.Result;
import com.github.pagehelper.PageInfo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @FileName: ScenicService
 * @Description:
 * @Author: 李宗盛
 * @CreateTime: 2025/9/8 15:52
 * @Version: 17
 */
public interface ScenicService {
    //
    // 新增：查询景区及下属所有门票（关联查询）
    Scenic queryScenicWithTickets(Integer scenicId);
    // 新增：查询景区及下属所有景点（关联查询）
    Scenic queryScenicWithDots(Integer scenicId);

    // 新增：查询景区及下属所有门票和景点（完整关联查询）
    Scenic queryScenicWithTicketsAndDots(Integer scenicId);
    /**
     * 通过ID进行查询
     * @param scenicId
     * @return
     */
    Scenic queryById(Integer scenicId);
    /**
     * 查询所有景区信息
     * @return 景区列表
     */
    List<Scenic> queryAll();

    List<Scenic> frontQueryAll();

    /**
     * 查询所有景区信息
     * @return 景区列表
     */
    PageInfo queryByPage(Page<Scenic> Page);

    /**
     * 新增景区信息
     * @param scenic 景区实体
     * @return 影响行数
     */
    int add(Scenic scenic);

    /**
     * 更新景区信息
     * @param scenic 景区实体
     * @return 影响行数
     */
    int update(Scenic scenic);

    /**
     * 根据ID删除景区信息
     * @param scenicId 景区ID
     * @return 影响行数
     */
    int deleteById(Integer scenicId);

    /**
     *上传图片
     * @param file
     * @return
     */
    Result uploadImage(MultipartFile file);

}
